home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 3 / ct-rom iiib.zip / ct-rom iiib / WINDOWS / DIVERSEN / WINE02BX / EMERGE.ELC < prev    next >
Text File  |  1993-03-28  |  68KB  |  499 lines

  1. ;;; compiled by jwz@thalidomide on Wed Dec 16 10:03:55 1992
  2. ;;; from file /u/jwz/emacs19/lisp/packages/emerge.el
  3. ;;; emacs version 19.4 Lucid.
  4. ;;; bytecomp version 2.08; 27-aug-92.
  5. ;;; optimization is on.
  6. ;;; this file uses opcodes which do not exist in Emacs18.
  7.  
  8. (if (and (boundp 'emacs-version)
  9.      (or (and (boundp 'epoch::version) epoch::version)
  10.          (string-lessp emacs-version "19")))
  11.     (error "This file was compiled for Emacs19."))
  12.  
  13. (provide 'emerge)
  14. (fset 'emerge-eval-in-buffer '(macro . #[(buffer &rest forms) "└┴┬├─┼DD\"╚EEç" [let ((StartBuffer (current-buffer))) unwind-protect append progn set-buffer buffer forms (set-buffer StartBuffer)] 7 "\
  15. Macro to switch to BUFFER, evaluate FORMS, returns to original buffer.
  16. Differs from  save-excursion  in that it doesn't save the point and mark."]))
  17. (defvar emerge-lucid-p (string-match "Lucid" emacs-version) "\
  18. Non-nil if this is Lucid Emacs.  Don't alter manually, because it also
  19. turns on work-arounds to Lucid bugs.")
  20. (fset 'emerge-defvar-local '(macro . #[(var value doc) "└┴\n F┼╞\nDD╟╞\nD╚╔FFç" [progn defvar var value doc make-variable-buffer-local quote put (if emerge-lucid-p 'permanent-local 'preserved) t] 7 "\
  21. Defines SYMBOL as an advertised variable.  Performs a defvar, then
  22. executes make-variable-buffer-local on the variable.  Also sets the
  23. 'preserved' property, so that kill-all-local-variables (called by major-mode
  24. setting commands) won't destroy Emerge control variables."]))
  25. (byte-code "└┴!¼é┬├ ₧¼à┼     \"└ç" [boundp emerge-minor-modes-list ((emerge-mode " Emerge") (emerge-fast-mode " F") (emerge-edit-mode " E") (emerge-auto-advance " A") (emerge-skip-prefers " S")) emerge-mode minor-mode-alist append] 3)
  26. (defun emerge-mode nil "\
  27. Emerge mode is used by the Emerge file-merging package.  It is entered only
  28. through one of the functions:
  29.     emerge-files
  30.     emerge-files-with-ancestor
  31.     emerge-buffers
  32.     emerge-buffers-with-ancestor
  33.     emerge-files-command
  34.     emerge-files-with-ancestor-command
  35.     emerge-files-remote
  36.     emerge-files-with-ancestor-remote
  37.  
  38. Commands:
  39. \\{emerge-basic-keymap}
  40. Commands must be prefixed by \\<emerge-fast-keymap>\\[emerge-basic-keymap] in 'edit' mode, but can be invoked directly
  41. in 'fast' mode.")
  42. (defvar emerge-version "5" "\
  43. The version of Emerge.")
  44. (fset 'emerge-version #[nil "t½å└┴┬ \"ç\nç" [message "Emerge version %s" emerge-version] 3 "\
  45. Return string describing the version of Emerge.  When called interactively,
  46. displays the version." nil])
  47. (defvar emerge-diff-program "diff" "\
  48. *Name of the program which compares two files.")
  49. (defvar emerge-diff3-program "diff3" "\
  50. *Name of the program which compares an ancestor file (first argument)
  51. and two variant files (second and third arguments).")
  52. (defvar emerge-diff-options "" "\
  53. *Options to be passed to emerge-diff/diff3-program.")
  54. (defvar emerge-match-diff-line (byte-code "└┬    ├    ─░)ç" ["\\([0-9]+\\)\\(\\|,\\([0-9]+\\)\\)" x "^" "\\([acd]\\)" "$"] 5) "\
  55. *Pattern to match lines produced by diff that describe differences (as
  56. opposed to lines from the source files).")
  57. (defvar emerge-diff-ok-lines "^\\([0-9,]+[acd][0-9,]+$\\|[<>] \\|---\\)" "\
  58. *Regexp that matches normal output lines from  emerge-diff-program .
  59. Lines that do not match are assumed to be error output.")
  60. (defvar emerge-diff3-ok-lines "^\\([1-3]:\\|====\\|  \\)" "\
  61. *Regexp that matches normal output lines from  emerge-diff3-program .
  62. Lines that do not match are assumed to be error output.")
  63. (defvar emerge-rcs-ci-program "ci" "\
  64. *Name of the program that checks in RCS revisions.")
  65. (defvar emerge-rcs-co-program "co" "\
  66. *Name of the program that checks out RCS revisions.")
  67. (defvar emerge-process-local-variables nil "\
  68. *Non-nil if Emerge should process the local-variables list in newly created
  69. merge buffers.  (The local-variables list can be processed manually by
  70. executing \"(hack-local-variables)\".)")
  71. (defvar emerge-execute-line-deletions nil "\
  72. *If non-nil: When emerge-execute-line discovers a situation which
  73. appears to show that a file has been deleted from one version of the
  74. files being merged (when an ancestor entry is present, only one
  75. A or B entry is present, and an output entry is present), no output
  76. file will be created.
  77. If nil: In such circumstances, the A or B file that is present will be
  78. copied to the designated output file.")
  79. (defvar emerge-startup-hooks nil "\
  80. *Hooks to run in the merge buffer after the merge has been set up.")
  81. (defvar emerge-select-hooks nil "\
  82. *Hooks to run after a difference has been selected.
  83. `n' is the (internal) number of the difference.")
  84. (defvar emerge-unselect-hooks nil "\
  85. *Hooks to run after a difference has been unselected.
  86. `n' is the (internal) number of the difference.")
  87. (defvar emerge-default-last-directories nil "\
  88. *If nil, filenames for emerge-files-* commands complete in
  89.  default-directory  (like an ordinary command).
  90. If non-nil, filenames complete in the directory of the last argument of the
  91. same type to an emerge-files-* command.")
  92. (defvar emerge-last-dir-A nil "\
  93. Last directory for the first file of an emerge-files command.")
  94. (defvar emerge-last-dir-B nil "\
  95. Last directory for the second file of an emerge-files command.")
  96. (defvar emerge-last-dir-ancestor nil "\
  97. Last directory for the ancestor file of an emerge-files command.")
  98. (defvar emerge-last-dir-output nil "\
  99. Last directory for the output file of an emerge-files command.")
  100. (defvar emerge-last-revision-A nil "\
  101. Last RCS revision use for the first file of an emerge-revisions command.")
  102. (defvar emerge-last-revision-B nil "\
  103. Last RCS revision use for the second file of an emerge-revisions command.")
  104. (defvar emerge-last-revision-ancestor nil "\
  105. Last RCS revision use for the ancestor file of an emerge-revisions command.")
  106. (defvar emerge-before-flag "vvvvvvvvvvvvvvvvvvvv\n" "\
  107. *Flag placed above the highlighted block of code.  Must end with newline.
  108. Must be set before Emerge is loaded, or  emerge-new-flags  must be run
  109. after setting.")
  110. (defvar emerge-after-flag "^^^^^^^^^^^^^^^^^^^^\n" "\
  111. *Flag placed below the highlighted block of code.  Must end with newline.
  112. Must be set before Emerge is loaded, or  emerge-new-flags  must be run
  113. after setting.")
  114. (byte-code "½Å┴┬!½à├┬!¼à─┼┬\"ê┴ç" [emerge-lucid-p find-face emerge-highlight-face face-differs-from-default-p copy-face bold-italic] 3)
  115. (fset 'emerge-new-flags #[nil "G┬├\"┼!G┬├\"    ┼!ë\nç" [emerge-before-flag emerge-before-flag-length count-matches-string "\n" emerge-before-flag-lines regexp-quote emerge-before-flag-match emerge-after-flag emerge-after-flag-length emerge-after-flag-lines emerge-after-flag-match] 3 "\
  116. Function to be called after emerge-{before,after}-flag are changed to
  117. compute values that depend on the flags." nil])
  118. (fset 'count-matches-string #[(string regexp) "└ë├ \n#½ê    T└ò¬q    *ç" [0 count i string-match regexp string] 4 "\
  119. Return the number of matches in STRING for REGEXP."])
  120. (emerge-new-flags)
  121. (defvar emerge-min-visible-lines 3 "\
  122. *Number of lines that we want to show above and below the flags when we are
  123. displaying a difference.")
  124. (defvar emerge-temp-file-prefix (byte-code "└┴!┬ë½ë G┼V½â ¬ü╞ëëGSH╟U½à ┼╚O ╔P*ç" [getenv "TMPDIR" nil d env 0 "/tmp" 47 -1 "/emerge"] 4) "\
  125. *Prefix to put on Emerge temporary file names.
  126. Do not start with '~/' or '~user-name/'.")
  127. (defvar emerge-temp-file-mode 384 "\
  128. *Mode for Emerge temporary files.")
  129. (defvar emerge-combine-versions-template "#ifdef NEW\n%b#else /* NEW */\n%a#endif /* NEW */\n" "\
  130. *Template for  emerge-combine-versions  to combine the two versions.
  131. The template is inserted as a string, with the following interpolations:
  132.     %a    the A version of the difference
  133.     %b    the B version of the difference
  134.     %%    the character '%'
  135. Don't forget to end the template with a newline.
  136. Note that this variable can be made local to a particular merge buffer by
  137. giving a prefix argument to  emerge-set-combine-versions-template .")
  138. (defvar emerge-basic-keymap nil "\
  139. Keymap of Emerge commands.
  140. Directly available in 'fast' mode;
  141. must be prefixed by \\<emerge-fast-keymap>\\[emerge-basic-keymap] in 'edit' mode.")
  142. (defvar emerge-fast-keymap nil "\
  143. Local keymap used in Emerge 'fast' mode.
  144. Makes Emerge commands directly available.")
  145. (defvar emerge-command-prefix "" "\
  146. *Command prefix for Emerge commands in 'edit' mode.
  147. Must be set before Emerge is loaded.")
  148. (fset 'emerge-setup-fixed-keymaps #[nil "└ ┬    !ê├    ─┼#ê├    ╞╟#ê├    ╚╔#ê├    ╩╦#ê├    ╠═#ê├    ╬╧#ê├    ╨╤#ê├    ╥╙#ê├    ╘╒#ê├    ╓╫#ê├    ╪┘#ê├    ┌█#ê├    ▄╒#ê├    ▌▐#ê├    ▀α#ê├    ß╒#ê├    Γπ#ê├    Σσ#ê├    µ╒#ê├    τΦ#ê├    ΘΩ#ê├    δ∞#ê├    φε#ê├    ∩≡#ê├    ±≥#ê├    ≤⌠#ê├    ⌡÷#ê├    ≈╒#ê├    °∙#ê├    ·√#ê├    ⁿ²#ê├    ■ #ê├    ü@üA#ê├    üBüC#ê├    üDüE#ê├    üFüG#ê├    üHüI#ê├    üJüK#ê├    üLüM#ê├    üNüO#ê├    üPüQ#ê┴    MêüR    !S├ST┴#êüSSMêüUüVüWüX S$êüUüYüZüX S$ç" [make-keymap emerge-basic-keymap suppress-keymap define-key "p" emerge-previous-difference "n" emerge-next-difference "a" emerge-select-A "b" emerge-select-B "j" emerge-jump-to-difference "q" emerge-quit "f" emerge-fast-mode "e" emerge-edit-mode "s" nil "sa" emerge-auto-advance "ss" emerge-skip-prefers "l" emerge-recenter "d" "da" emerge-default-A "db" emerge-default-B "c" "ca" emerge-copy-as-kill-A "cb" emerge-copy-as-kill-B "i" "ia" emerge-insert-A "ib" emerge-insert-B "m" emerge-mark-difference "v" emerge-scroll-up "^" emerge-scroll-down "<" emerge-scroll-left ">" emerge-scroll-right "|" emerge-scroll-reset "x" "x1" emerge-one-line-window "xa" emerge-find-difference-A "xb" emerge-find-difference-B "xc" emerge-combine-versions "xC" emerge-combine-versions-register "xd" emerge-find-difference "xf" emerge-file-names "xj" emerge-join-differences "xl" emerge-line-numbers "xm" emerge-set-merge-mode "xs" emerge-split-difference "xt" emerge-trim-difference "xx" emerge-set-combine-versions-template copy-keymap emerge-fast-keymap emerge-command-prefix emerge-shadow-key-definition write-file emerge-query-write-file current-global-map save-buffer emerge-query-save-buffer] 5])
  149. (defvar emerge-mode nil "\
  150. Indicator for emerge-mode.")
  151. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-mode put emerge-lucid-p permanent-local preserved t] 4)
  152. (defvar emerge-fast-mode nil "\
  153. Indicator for emerge-mode fast submode.")
  154. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-fast-mode put emerge-lucid-p permanent-local preserved t] 4)
  155. (defvar emerge-edit-mode nil "\
  156. Indicator for emerge-mode edit submode.")
  157. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-edit-mode put emerge-lucid-p permanent-local preserved t] 4)
  158. (defvar emerge-A-buffer nil "\
  159. The buffer in which the A variant is stored.")
  160. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-A-buffer put emerge-lucid-p permanent-local preserved t] 4)
  161. (defvar emerge-B-buffer nil "\
  162. The buffer in which the B variant is stored.")
  163. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-B-buffer put emerge-lucid-p permanent-local preserved t] 4)
  164. (defvar emerge-merge-buffer nil "\
  165. The buffer in which the merged file is manipulated.")
  166. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-merge-buffer put emerge-lucid-p permanent-local preserved t] 4)
  167. (defvar emerge-ancestor-buffer nil "\
  168. The buffer in which the ancestor variant is stored,
  169. or nil if there is none.")
  170. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-ancestor-buffer put emerge-lucid-p permanent-local preserved t] 4)
  171. (defconst emerge-saved-variables '((buffer-modified-p set-buffer-modified-p) buffer-read-only buffer-auto-save-file-name) "\
  172. Variables and properties of a buffer which are saved, modified and restored
  173. during a merge.")
  174. (defconst emerge-merging-values '(nil t nil) "\
  175. Values to be assigned to emerge-saved-variables during a merge.")
  176. (defvar emerge-A-buffer-values nil "\
  177. Remembers emerge-saved-variables for emerge-A-buffer.")
  178. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-A-buffer-values put emerge-lucid-p permanent-local preserved t] 4)
  179. (defvar emerge-B-buffer-values nil "\
  180. Remembers emerge-saved-variables for emerge-B-buffer.")
  181. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-B-buffer-values put emerge-lucid-p permanent-local preserved t] 4)
  182. (defvar emerge-difference-list nil "\
  183. Vector of differences between the variants, and markers in the buffers to
  184. show where they are.  Each difference is represented by a vector of seven
  185. elements.  The first two are markers to the beginning and end of the difference
  186. section in the A buffer, the second two are markers for the B buffer, the third
  187. two are markers for the merge buffer, and the last element is the \"state\" of
  188. that difference in the merge buffer.
  189.   A section of a buffer is described by two markers, one to the beginning of
  190. the first line of the section, and one to the beginning of the first line
  191. after the section.  (If the section is empty, both markers point to the same
  192. point.)  If the section is part of the selected difference, then the markers
  193. are moved into the flags, so the user can edit the section without disturbing
  194. the markers.
  195.   The \"states\" are:
  196.     A        the merge buffer currently contains the A variant
  197.     B        the merge buffer currently contains the B variant
  198.     default-A    the merge buffer contains the A variant by default,
  199.             but this difference hasn't been selected yet, so
  200.             change-default commands can alter it
  201.     default-B    the merge buffer contains the B variant by default,
  202.             but this difference hasn't been selected yet, so
  203.             change-default commands can alter it
  204.     prefer-A    in a three-file merge, the A variant is the prefered
  205.             choice
  206.     prefer-B    in a three-file merge, the B variant is the prefered
  207.             choice")
  208. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-difference-list put emerge-lucid-p permanent-local preserved t] 4)
  209. (defvar emerge-current-difference -1 "\
  210. The difference that is currently selected.")
  211. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-current-difference put emerge-lucid-p permanent-local preserved t] 4)
  212. (defvar emerge-number-of-differences nil "\
  213. Number of differences found.")
  214. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-number-of-differences put emerge-lucid-p permanent-local preserved t] 4)
  215. (defvar emerge-edit-keymap nil "\
  216. The local keymap for the merge buffer, with the emerge commands defined in
  217. it.  Used to save the local keymap during fast mode, when the local keymap is
  218. replaced by emerge-fast-keymap.")
  219. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-edit-keymap put emerge-lucid-p permanent-local preserved t] 4)
  220. (defvar emerge-old-keymap nil "\
  221. The original local keymap for the merge buffer.")
  222. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-old-keymap put emerge-lucid-p permanent-local preserved t] 4)
  223. (defvar emerge-auto-advance nil "\
  224. *If non-nil, emerge-select-A and emerge-select-B automatically advance to
  225. the next difference.")
  226. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-auto-advance put emerge-lucid-p permanent-local preserved t] 4)
  227. (defvar emerge-skip-prefers nil "\
  228. *If non-nil, differences for which there is a preference are automatically
  229. skipped.")
  230. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-skip-prefers put emerge-lucid-p permanent-local preserved t] 4)
  231. (defvar emerge-quit-hooks nil "\
  232. Hooks to run in the merge buffer after the merge has been finished.
  233. emerge-prefix-argument will be bound to the prefix argument of the emerge-quit
  234. command.
  235. This is  not  a user option, since Emerge uses it for its own processing.")
  236. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ç" [make-variable-buffer-local emerge-quit-hooks put emerge-lucid-p permanent-local preserved t] 4)
  237. (defvar emerge-output-description nil "\
  238. Describes output destination of the merge, for the use of
  239. emerge-file-names.")
  240. (byte-code "└┴!ê┬┴ ½â─¬ü┼╞#ê╟╚Mê╔╩Mê╦╠Mê═╬Mê╧╨Mê╤╥Mê╙╘Mê╒╓Mê╫╪Mê┘┌Mç" [make-variable-buffer-local emerge-output-description put emerge-lucid-p permanent-local preserved t emerge-files-internal #[(file-A file-B &optional startup-hooks quit-hooks output-file) "└    !¼à┬├    \"ê└ !¼à┬├ \"ê┼    !┼ !╚    !    ╚ !\n ½å╚ ! p╬Äqê~ê╧ ½Ö╨╤!╥ed    ╙╘%ê╒╙╓    DEB¬â╪ ê*p┘Äqê~ê╧ ½Ö╨┌!╥ed ╙╘%ê╒╙╓ DEB¬â╪ ê*█      &*ç" [file-readable-p file-A error "File '%s' does not exist or is not readable" file-B find-file-noselect buffer-B buffer-A file-name-directory emerge-last-dir-A emerge-last-dir-B output-file emerge-last-dir-output StartBuffer ((set-buffer StartBuffer)) emerge-remote-file-p emerge-make-temp-file "A" write-region nil no-message lambda delete-file startup-hooks emerge-verify-file-buffer ((set-buffer StartBuffer)) "B" emerge-setup quit-hooks] 8] emerge-setup #[(buffer-A file-A buffer-B file-B startup-hooks quit-hooks output-file) "└    !└\n! ¡â└ !─┼╞\"p╔Ä\nqê╦!* p═Ä qê╬\n!ê╧╤╥!ê╙\n╧  ½à┌ P¬å█▄ !P▐!ê▀ êα    \n\"ë!G\"π$%&τ êΦ ê*Θ\n ╙$êpΩÄ qêδ∞φ\"ê╙ë,ç" [expand-file-name file-A file-B output-file emerge-unique-buffer-name "*merge" "*" merge-buffer-name StartBuffer ((set-buffer StartBuffer)) buffer-A get-buffer-create merge-buffer ((set-buffer StartBuffer)) emerge-copy-modes nil buffer-read-only auto-save-mode 1 t emerge-mode emerge-A-buffer buffer-B emerge-B-buffer emerge-ancestor-buffer emerge-merge-buffer "Output to file: " "Output to buffer: " buffer-name emerge-output-description insert-buffer emerge-set-keys emerge-make-diff-list emerge-difference-list emerge-number-of-differences -1 emerge-current-difference quit-hooks emerge-quit-hooks emerge-remember-buffer-characteristics emerge-handle-local-variables emerge-setup-windows ((set-buffer StartBuffer)) run-hooks startup-hooks emerge-startup-hooks] 6] emerge-make-diff-list #[(file-A file-B) "└┴!p─Ä\nqê┼ ê╞╟╚    \n╦ !╦!%╬\"ê*╧\n\"ê╤╒\n!$)ç" [get-buffer-create "*emerge-diff*" diff-buffer StartBuffer ((set-buffer StartBuffer)) erase-buffer shell-command format "%s %s %s %s" emerge-diff-program emerge-diff-options emerge-protect-metachars file-A file-B t emerge-prepare-error-list emerge-diff-ok-lines emerge-convert-diffs-to-markers emerge-A-buffer emerge-B-buffer emerge-merge-buffer emerge-extract-diffs] 8] emerge-extract-diffs #[(diff-buffer) "└p├Ä qêebê┼└╟#âª╚╔ö╔ò{!\n╦ö╦ò ë½ë╚ {!¬é\n*╧ö╧ò{╚╤ö╤ò{!╙ö╙ò ë½ë╚ {!¬é*╒ÿ½ÅT\nTë\n¬ƒ╓ÿ½ÅTTë¬èTT╫\n╪%    B-é *    ƒ)ç" [nil list StartBuffer ((set-buffer StartBuffer)) diff-buffer re-search-forward emerge-match-diff-line t string-to-int 1 a-begin 3 e b a-end 4 diff-type 5 b-begin 7 b-end "a" "d" vector default-A] 7] emerge-prepare-error-list #[(ok-regexp diff-buffer) "└┴!p─Ä\nqê┼ ê╞!ê╚    !*ç" [get-buffer-create "*emerge-diff-errors*" emerge-diff-error-buffer StartBuffer ((set-buffer StartBuffer)) erase-buffer insert-buffer diff-buffer delete-matching-lines ok-regexp] 2] emerge-files-with-ancestor-internal #[(file-A file-B file-ancestor &optional startup-hooks quit-hooks output-file) "└    !¼à┬├    \"ê└ !¼à┬├ \"ê└!¼à┬├\"ê╞    !╞ !╞!    ╩    ! ╩ ! ╩!½å╩!p╤Ä    qê~ê╥ ½Ö╙╘!╒ed    ╓╫%ê╪╓┘    DEB¬â█ ê*p▄Äqê~ê╥ ½Ö╙▌!╒ed ╓╫%ê╪╓┘ DEB¬â█ ê*p▐Äqê~ê╥ ½Ö╙▀!╒ed╓╫%ê╪╓┘DEB¬â█ ê*α         !&    +ç" [file-readable-p file-A error "File '%s' does not exist or is not readable" file-B file-ancestor find-file-noselect buffer-ancestor buffer-B buffer-A file-name-directory emerge-last-dir-A emerge-last-dir-B emerge-last-dir-ancestor output-file emerge-last-dir-output StartBuffer ((set-buffer StartBuffer)) emerge-remote-file-p emerge-make-temp-file "A" write-region nil no-message lambda delete-file startup-hooks emerge-verify-file-buffer ((set-buffer StartBuffer)) "B" ((set-buffer StartBuffer)) "anc" emerge-setup-with-ancestor quit-hooks] 10] emerge-setup-with-ancestor #[(buffer-A file-A buffer-B file-B buffer-ancestor file-ancestor &optional startup-hooks quit-hooks output-file) "└    !└\n!└ ! ¡â└ !┼╞╟\"p    ╩Ä qê╠!*p    ╬Äqê╧ !ê╨╥╙!ê╘  ½à▄ P¬å▌▐!Pα!êß êΓ    \n #ë#G$σ&'(Θ êΩ êδ ê*∞ ╘$êp    φÄqêε∩≡\"ê╘ë,ç" [expand-file-name file-A file-B file-ancestor output-file emerge-unique-buffer-name "*merge" "*" merge-buffer-name StartBuffer ((set-buffer StartBuffer)) buffer-A get-buffer-create merge-buffer ((set-buffer StartBuffer)) emerge-copy-modes nil buffer-read-only auto-save-mode 1 t emerge-mode emerge-A-buffer buffer-B emerge-B-buffer buffer-ancestor emerge-ancestor-buffer emerge-merge-buffer "Output to file: " "Output to buffer: " buffer-name emerge-output-description insert-buffer emerge-set-keys emerge-make-diff3-list emerge-difference-list emerge-number-of-differences -1 emerge-current-difference quit-hooks emerge-quit-hooks emerge-remember-buffer-characteristics emerge-select-prefer-Bs emerge-handle-local-variables emerge-setup-windows ((set-buffer StartBuffer)) run-hooks startup-hooks emerge-startup-hooks] 6] emerge-make-diff3-list #[(file-A file-B file-ancestor) "└┴!p─Ä\nqê┼ ê╞╟╚    \n╦ !╦!╦!&╧\"ê*╨\n\"ê╥╓\n!$)ç" [get-buffer-create "*emerge-diff*" diff-buffer StartBuffer ((set-buffer StartBuffer)) erase-buffer shell-command format "%s %s %s %s %s" emerge-diff3-program emerge-diff-options emerge-protect-metachars file-ancestor file-A file-B t emerge-prepare-error-list emerge-diff3-ok-lines emerge-convert-diffs-to-markers emerge-A-buffer emerge-B-buffer emerge-merge-buffer emerge-extract-diffs3] 9] emerge-extract-diffs3 #[(diff-buffer) "└p├Ä qê┼╞└╟#½├╚yê╚ö╚ò{ë    ╩ÿ¼▒╦╠!╦═!╨@A@@A@    ╠ÿ½â╤¬è    ═ÿ½â╥¬ü╙%*    B)¬6*    ƒ)ç" [nil list StartBuffer ((set-buffer StartBuffer)) diff-buffer re-search-forward "^====\\(.?\\)$" t 1 agreement "1" emerge-get-diff3-group "2" "3" group-3 group-2 vector prefer-A prefer-B default-A] 8] emerge-get-diff3-group #[(file) "è└┴\n├Q!ê─yê┼ö┼ò{╞ÿ½ª╟ö½Æ╚─ö─ò{!╚╔ö╔ò{!TD¬Ü╚─ö─ò{!ë\nëT)D¬è╚─ö─ò{!TëD)ç" [re-search-forward "^" file ":\\([0-9]+\\)\\(,\\([0-9]+\\)\\)?\\([ac]\\)$" 1 4 "c" 2 string-to-int 3 x] 5]] 4)
  241. (fset 'emerge-files #[(arg file-A file-B file-out &optional startup-hooks quit-hooks) "└    \n ½î┼╞╟DE    B¬é    %ç" [emerge-files-internal file-A file-B startup-hooks arg lambda nil emerge-files-exit file-out quit-hooks] 8 "\
  242. Run Emerge on two files." (byte-code "└\n├─└ë╞%ë├╟└    ╞%\n¡ê├╔\n    ë└%F)ç" [nil f current-prefix-arg emerge-read-file-name "File A to merge" emerge-last-dir-A confirm "File B to merge" emerge-last-dir-B "Output file" emerge-last-dir-output] 9)])
  243. (fset 'emerge-files-with-ancestor #[(arg file-A file-B file-ancestor file-out &optional startup-hooks quit-hooks) "└    \n ½î╞╟╚    DE\nB¬é\n    &ç" [emerge-files-with-ancestor-internal file-A file-B file-ancestor startup-hooks arg lambda nil emerge-files-exit file-out quit-hooks] 9 "\
  244. Run Emerge on two files, giving another file as the ancestor." (byte-code "└\n├─└ë╞%ë├╟└    ╞%├╔\n└    ╞%\n¡ê├╦     ë└%»)ç" [nil f current-prefix-arg emerge-read-file-name "File A to merge" emerge-last-dir-A confirm "File B to merge" emerge-last-dir-B "Ancestor file" emerge-last-dir-ancestor "Output file" emerge-last-dir-output] 10)])
  245. (fset 'emerge-files-exit #[(file-out) "?¡â┴\n!ç" [emerge-prefix-argument emerge-write-and-delete file-out] 2])
  246. (fset 'emerge-buffers #[(buffer-A buffer-B &optional startup-hooks quit-hooks) "└┴!└┬!p╞Äqê╚ed ╔╩%ê*p╦Ä qê╚ed ╔╩%ê*═╬! ╬ ! ╧╔╨ D╨ DFB╔&*ç" [emerge-make-temp-file "A" "B" emerge-file-B emerge-file-A StartBuffer ((set-buffer StartBuffer)) buffer-A write-region nil no-message ((set-buffer StartBuffer)) buffer-B emerge-setup get-buffer lambda delete-file startup-hooks quit-hooks] 10 "\
  247. Run Emerge on two buffers." "bBuffer A to merge: \nbBuffer B to merge: "])
  248. (fset 'emerge-buffers-with-ancestor #[(buffer-A buffer-B buffer-ancestor &optional startup-hooks quit-hooks) "└┴!└┬!└├!p╚Ä    qê╩ed╦╠%ê*p═Äqê╩ed╦╠%ê*p╧Äqê╩ed ╦╠%ê*╤╥    !╥!╥! ╙╦╘D╘D╘ D»B╦&    +ç" [emerge-make-temp-file "A" "B" "anc" emerge-file-ancestor emerge-file-B emerge-file-A StartBuffer ((set-buffer StartBuffer)) buffer-A write-region nil no-message ((set-buffer StartBuffer)) buffer-B ((set-buffer StartBuffer)) buffer-ancestor emerge-setup-with-ancestor get-buffer lambda delete-file startup-hooks quit-hooks] 13 "\
  249. Run Emerge on two buffers, giving another buffer as the ancestor." "bBuffer A to merge: \nbBuffer B to merge: \nbAncestor buffer: "])
  250. (byte-code "└┴Mê┬├Mê─┼Mê╞╟Mê╚╔Mê╩╦Mç" [emerge-files-command #[nil "@A@┴8┼¢╞ ╟╚╟╔\nDEC$+ç" [command-line-args-left 2 file-out file-b file-a 3 emerge-files-internal nil lambda emerge-command-exit] 8] emerge-files-with-ancestor-command #[nil "└ëëë@╞ÿ½û╟8╚8A@╔8╩¢¬ô@A@╟8╚8╔¢╦ \n└╠└═    DEC%,ç" [nil file-out file-anc file-b file-a command-line-args-left "-a" 2 3 4 5 emerge-files-with-ancestor-internal lambda emerge-command-exit] 9] emerge-command-exit #[(file-out) "└    !ê┬ ½â─¬ü┼!ç" [emerge-write-and-delete file-out kill-emacs emerge-prefix-argument 1 0] 2] emerge-files-remote #[(file-a file-b file-out) "└    \n├─├┼╟DEEC%ê╔╩├\"ç" [emerge-files-internal file-a file-b nil lambda emerge-remote-exit file-out quote exit-func throw client-wait] 10] emerge-files-with-ancestor-remote #[(file-a file-b file-anc file-out) "└    \n ─┼─╞╚    DEEC&ê╩╦─\"ç" [emerge-files-with-ancestor-internal file-a file-b file-anc nil lambda emerge-remote-exit file-out quote exit-func throw client-wait] 11] emerge-remote-exit #[(file-out exit-func) "└    !ê┬ !ê ½â╞¬ü╟!ç" [emerge-write-and-delete file-out kill-buffer emerge-merge-buffer exit-func emerge-prefix-argument 1 0] 2]] 2)
  251. (fset 'emerge-revisions #[(arg file revision-A revision-B &optional startup-hooks quit-hooks) "\n─\n½É╚╔╩╦╠#DEB¬é%ç" [revision-A emerge-last-revision-A revision-B emerge-last-revision-B emerge-revisions-internal file startup-hooks arg lambda nil shell-command format "%s %s" emerge-rcs-ci-program quit-hooks] 12 "\
  252. Emerge two RCS revisions of a file." (byte-code "┴┬├ë─$┼╞\"┼╚    \"Fç" [current-prefix-arg read-file-name "File to merge: " nil confirm read-string "Revision A to merge: " emerge-last-revision-A "Revision B to merge: " emerge-last-revision-B] 6)])
  253. (fset 'emerge-revisions-with-ancestor #[(arg file revision-A revision-B ancestor &optional startup-hooks quit-hooks) "\n ╞\n     ½ò╩ ╠╩═╬╧#DE)B¬é&ç" [revision-A emerge-last-revision-A revision-B emerge-last-revision-B ancestor emerge-last-revision-ancestor emerge-revision-with-ancestor-internal file startup-hooks arg nil cmd lambda shell-command format "%s %s" emerge-rcs-ci-program quit-hooks] 13 "\
  254. Emerge two RCS revisions of a file, giving another revision as
  255. the ancestor." (byte-code "┴┬├ë─$┼╞\"┼╚    \"┼╩ \"»ç" [current-prefix-arg read-file-name "File to merge: " nil confirm read-string "Revision A to merge: " emerge-last-revision-A "Revision B to merge: " emerge-last-revision-B "Ancestor: " emerge-last-revision-ancestor] 7)])
  256. (byte-code "└┴Mê┬├Mç" [emerge-revisions-internal #[(file revision-A revision-B &optional startup-hooks quit-hooks output-file) "└┴┬ #!└┴┬ #!╞╟!╞╚!    \n  p╬Ä qê╧ ê╨┴╤ $╙\"ê╘ed\n╒╓%ê╫╒!ê*p╪Ä qê╧ ê╨┴╤ $╙\"ê╘ed    ╒╓%ê╫╒!ê*┘ \n     ┌╒█\nD█    DFB┌╒▌ DEB╒&,ç" [get-buffer-create format "%s,%s" file revision-A revision-B emerge-make-temp-file "A" "B" emerge-file-B emerge-file-A buffer-B buffer-A StartBuffer ((set-buffer StartBuffer)) erase-buffer shell-command "%s -q -p%s %s" emerge-rcs-co-program t write-region nil no-message set-buffer-modified-p ((set-buffer StartBuffer)) emerge-setup lambda delete-file startup-hooks emerge-files-exit quit-hooks] 10] emerge-revision-with-ancestor-internal #[(file revision-A revision-B ancestor &optional startup-hooks quit-hooks output-file) "└┴┬ #!└┴┬ #!└┴┬ #!╟╚!╟╔!╟╩!  p╥Äqê╙ ê╘┴╒ $╫\"ê╪ed┘┌%ê█┘!ê*p▄Äqê╙ ê╘┴╒ $╫\"ê╪ed ┘┌%ê█┘!ê*p▌Äqê╙ ê╘┴╒ $╫\"ê╪ed ┘┌%ê█┘!ê*▐  ▀┘αDα Dα D»!B▀┘Γ DE#B$&    .ç" [get-buffer-create format "%s,%s" file revision-A revision-B ancestor emerge-make-temp-file "A" "B" "ancestor" emerge-ancestor emerge-file-B emerge-file-A buffer-ancestor buffer-B buffer-A StartBuffer ((set-buffer StartBuffer)) erase-buffer shell-command "%s -q -p%s %s" emerge-rcs-co-program t write-region nil no-message set-buffer-modified-p ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) emerge-setup-with-ancestor lambda delete-file startup-hooks emerge-files-exit quit-hooks output-file] 13]] 2)
  257. (fset 'emerge-execute-line #[nil "└ëëë┴m½ä╟╚!ê╔yê╩╦!½ä╔òbêl¼√╩╠!½≡═ö═ò{ù╬ö╬ò{╔òbê╤ÿ½Ä½ä╟╥!ê¬╞╙ÿ½î½ä╟╘!ê¬┤╒ÿ¼å╓ÿ½î ½ä╟╫!ꬣ╪ÿ¼å┘ÿ½î ½ä╟┌!ê¬ä╟█!ê*¬╟▄!ꬽâ¼ç ¼ä╟▌!ê¼ç¼ä╟▐!ê═yê½ú½á ½¥▀α#êß ?? └Γ└πpDΣFC&¬╟½ƒ½£▀α#êσ ?? └Γ└πpDµFC&¬ñ ½ë'½à▀Φ!¬ÿ«ü)▀Ω!êδ) \"ê▀∞) #)-ç" [nil t case-fold-search file-out file-ancestor file-B file-A error "At end of buffer" 0 looking-at "[     ]*" "\\([a-z]+\\)=\\([^     \n]+\\)[     ]*" 1 2 file tag "a" "This line has two 'A' entries" "b" "This line has two 'B' entries" "anc" "ancestor" "This line has two 'ancestor' entries" "out" "output" "This line has two 'output' entries" "Unrecognized entry" "Unparseable entry" "Must have both 'A' and 'B' entries" "Must have 'A' or 'B' entry" message "Merging %s and %s..." emerge-files-with-ancestor lambda switch-to-buffer (message "Merge done") emerge-files (message "Merge done") emerge-execute-line-deletions "No action" input-file "Copying..." copy-file "%s copied to %s"] 11 "\
  258. Process the current line, looking for entries of the form:
  259.     a=file1
  260.     b=file2
  261.     ancestor=file3
  262.     output=file4
  263. seperated by whitespace.  Based on entries found, call emerge correctly
  264. on the files files listed.
  265.  
  266. In addition, if only one of \"a=file\" or \"b=file\" is present, and \"output=file\"
  267. is present:
  268. If emerge-execute-line-deletions is non-nil and \"ancestor=file\" is present,
  269. it is assumed that the file in question has been deleted, and it is
  270. not copied to the output file.
  271. Otherwise, the A or B file present is copied to the output file." nil])
  272. (defvar emerge-merge-directories-filename-regexp "[^.]" "\
  273. Regexp describing files to be processed by emerge-merge-directories.")
  274. (byte-code "└┴Mê┬├Mê─┼Mç" [emerge-merge-directories #[(a-dir b-dir ancestor-dir output-dir) "n½âl¼ä└┴!ê\n½ç\n├ÿ½é─½ç├ÿ½é─╞!ë╚─O╔ÿ¼å╔P╞\n!ë\n╚─O╔ÿ¼å\n╔P\n\n½É╞\n!ë╚─O╔ÿ¼ä\n╔P½É╞!ë╚─O╔ÿ¼ä╔P╦ ê╠─#╠\n─#\n¡å╠\n─#╤╥!╥!ñ╥!ñ╙\"ë½áA½ô@A@ÿ½ëëAAíê¬dAë¼`)¡∞@A½û@ÿ½Ä╫╪▒êA½û@ÿ½Ä┘\n╪▒êA½ò@ÿ½ì┌\n╪▒êA½ê█╪▒ê▄▌!ê▐cê)¬,ç" [error "There is text on this line" ancestor-dir "" nil output-dir expand-file-name a-dir -1 "/" b-dir push-mark directory-files emerge-merge-directories-filename-regexp a-dir-files b-dir-files ancestor-dir-files sort copy-sequence string-lessp all-files p f "A=" "    " "B=" "ancestor=" "output=" backward-delete-char 1 "\n"] 5 nil (byte-code "└┴┬ë├$└─┬ë├$└┼┬ë├$└╞┬ë├$Fç" [read-file-name "A directory: " nil confirm "B directory: " "Ancestor directory (null for none): " "Output directory (null for none): "] 8)] emerge-setup-windows #[(buffer-A buffer-B merge-buffer &optional pos) "└ ┴ =½ä┬├!ê─ ê┼!ê╟ ê╚ ê    ½à╚ ê¬â╩ ê┼ !ê ½âebê┬├!ê┼!ê ½âebê┬├!ê ½âebêp╧Äqê╤ *╥U?¡Å╙ ê╘╒╓!\"ê┼!ç" [selected-window minibuffer-window other-window 1 delete-other-windows switch-to-buffer merge-buffer emerge-refresh-mode-line split-window-vertically emerge-lucid-p split-window-horizontally buffer-A pos buffer-B StartBuffer ((set-buffer StartBuffer)) emerge-diff-error-buffer buffer-size 0 ding message "Errors found in diff/diff3 output.  Merge buffer is %s." buffer-name emerge-merge-buffer] 4] emerge-set-keys #[nil "¼â┴ ê┬ ë½à─ !¬é┼ ╟└#ê╔╩╦#ê╔╠═#ê╬╩╦╧ $ê╬╠═╧ $ê╨!ê╥╘ëç" [emerge-basic-keymap emerge-setup-fixed-keymaps current-local-map emerge-old-keymap copy-keymap make-sparse-keymap emerge-edit-keymap emerge-force-define-key emerge-command-prefix emerge-recursively-substitute-key-definition write-file emerge-query-write-file save-buffer emerge-query-save-buffer emerge-shadow-key-definition current-global-map use-local-map emerge-fast-keymap nil emerge-edit-mode t emerge-fast-mode] 6]] 2)
  275. (fset 'emerge-remember-buffer-characteristics #[nil "└ êp┬Ä qê─!╞\"ê*p╔Ä\nqê─!╞\"ê*ë ç" [do-auto-save StartBuffer ((set-buffer StartBuffer)) emerge-A-buffer emerge-save-variables emerge-saved-variables emerge-restore-variables emerge-merging-values emerge-A-buffer-values ((set-buffer StartBuffer)) emerge-B-buffer emerge-B-buffer-values] 4 "\
  276. Must be called in the merge buffer.  Remembers certain properties of the
  277. buffers being merged (read-only, modified, auto-save), and saves them in
  278. buffer local variables.  Sets the buffers read-only and turns off auto-save.
  279. These characteristics are restored by emerge-restore-buffer-characteristics."])
  280. (fset 'emerge-restore-buffer-characteristics #[nil "    p┼Äqê╟ \"ê*p╔Ä\nqê╟\n\",ç" [emerge-A-buffer-values emerge-B-buffer-values B-values A-values StartBuffer ((set-buffer StartBuffer)) emerge-A-buffer emerge-restore-variables emerge-saved-variables ((set-buffer StartBuffer)) emerge-B-buffer] 3 "\
  281. Restores the characteristics remembered by
  282. emerge-remember-buffer-characteristics."])
  283. (byte-code "└┴Mê┬├Mê─┼Mê╞╟Mç" [emerge-convert-diffs-to-markers #[(A-buffer B-buffer merge-buffer lineno-list) "└p├Ä qêe*ëSp╟Ä qêî~ê╚╔\"+\np╦Ä qêe*p╬Ä qêî~ê╚╔\"+â÷@└└└└└└╪H╔H█H▌H▀H pßÄ qêΓ\n\\!êπ Γ\n\\!êπ *pΣÄ qêΓ\\!êπ Γ\\!êπ *σ µ!Z'ôσ µ!Z'ôΦ &    B. AëäEΘΦ    ƒ\"ë*.ç" [nil marker-list StartBuffer ((set-buffer StartBuffer)) A-buffer A-point-min offset ((set-buffer StartBuffer)) count-lines 1 A-hidden-lines ((set-buffer StartBuffer)) B-buffer B-point-min ((set-buffer StartBuffer)) B-hidden-lines lineno-list list-element a-begin-marker a-end-marker b-begin-marker b-end-marker merge-begin-marker merge-end-marker 0 a-begin a-end 2 b-begin 3 b-end 4 state ((set-buffer StartBuffer)) goto-line point-marker ((set-buffer StartBuffer)) make-marker marker-position merge-buffer vector apply emerge-difference-list] 9] emerge-select-prefer-Bs #[nil "└└\nW½₧     H─H┼=½Å╞    ╟\"ê╚ ê     H─┼Iê    Të¬^)╞╔!ç" [0 n emerge-number-of-differences emerge-difference-list 6 prefer-B emerge-unselect-and-select-difference t emerge-select-B -1] 4] emerge-handle-local-variables #[nil "¡ä┴┬├Åç" [emerge-process-local-variables err (hack-local-variables t) ((error (byte-code "└┴┬ !\"ç" [message "Local-variables error in merge buffer: %s" prin1-to-string err] 4)))] 3] emerge-write-and-delete #[(file-out) "└ ê┴\n!¼ä├\n!ê┴ !¼ä├ !ê½ë┴!¼ä├!ê╞!ç" [delete-other-windows buffer-modified-p emerge-A-buffer kill-buffer emerge-B-buffer emerge-ancestor-buffer write-file file-out] 2]] 2)
  284. (fset 'emerge-recenter #[(&optional arg) "½å┴\n #ê╞Yà¢Wࢠ\n     \n╦    ! ╦\n!╦!H ½¥╤ !ê╥╞HSZ╘HS\\╞HT#ê½¥╤!ê╥╓HSZ╫HS\\╓HT#ê¡£╤!ê╥╪HSZ┘HS\\╪HT#.ç" [arg emerge-setup-windows emerge-A-buffer emerge-B-buffer emerge-merge-buffer emerge-current-difference 0 emerge-number-of-differences merge-buffer buffer-A buffer-B get-buffer-window window-A window-B merge-window emerge-difference-list diff-vector select-window emerge-position-region emerge-before-flag-length 1 emerge-after-flag-length 2 3 4 5] 5 "\
  285. Bring the highlighted region of all three merge buffers into view,
  286. if they are in windows.  If an ARGUMENT is given, the default three-window
  287. display is reestablished." "P"])
  288. (fset 'emerge-operate-on-windows #[(operation arg) "\n ╞ !╞!╞    !    ½è╩!ê╦╠═Åê½è╩!ê╦╬╧Åê    ¡è╩    !ê!.ç" [emerge-merge-buffer merge-buffer emerge-A-buffer buffer-A emerge-B-buffer buffer-B get-buffer-window window-A window-B merge-window select-window nil (funcall operation arg) ((error)) (funcall operation arg) ((error)) operation arg] 3])
  289. (fset 'emerge-scroll-up #[(&optional arg) "└┴\n½è\n├ܼà─\n!¬ú┼!ë??¡ù╚!    Z╩Z \n½å ╠Ѭé ))\"ç" [emerge-operate-on-windows scroll-up arg - prefix-numeric-value get-buffer-window emerge-merge-buffer merge-window window-height next-screen-context-lines 1 default-amount 2] 5 "\
  290. Scroll up all three merge buffers, if they are in windows.
  291. If an ARGUMENT is given, that is how many lines are scrolled, else nearly
  292. the size of the merge window.  `C-u -' alone as argument scrolls half the
  293. size of the merge window." "P"])
  294. (fset 'emerge-scroll-down #[(&optional arg) "└┴\n½è\n├ܼà─\n!¬ú┼!ë??¡ù╚!    Z╩Z \n½å ╠Ѭé ))\"ç" [emerge-operate-on-windows scroll-down arg - prefix-numeric-value get-buffer-window emerge-merge-buffer merge-window window-height next-screen-context-lines 1 default-amount 2] 5 "\
  295. Scroll down all three merge buffers, if they are in windows.
  296. If an ARGUMENT is given, that is how many lines are scrolled, else nearly
  297. the size of the merge window.  `C-u -' alone as argument scrolls half the
  298. size of the merge window." "P"])
  299. (fset 'emerge-scroll-left #[(&optional arg) "└┴\n½è\n├ܼà─\n!¬ó┼!ë??¡û╚!╔Ñ╩Z \n½å ╔Ѭé ))\"ç" [emerge-operate-on-windows scroll-left arg - prefix-numeric-value get-buffer-window emerge-merge-buffer merge-window window-width 2 3 default-amount] 5 "\
  300. Scroll left all three merge buffers, if they are in windows.
  301. If an ARGUMENT is given, that is how many columns are scrolled, else nearly
  302. the width of the A and B windows.  `C-u -' alone as argument scrolls half the
  303. width of the A and B windows." "P"])
  304. (fset 'emerge-scroll-right #[(&optional arg) "└┴\n½è\n├ܼà─\n!¬ó┼!ë??¡û╚!╔Ñ╩Z \n½å ╔Ѭé ))\"ç" [emerge-operate-on-windows scroll-right arg - prefix-numeric-value get-buffer-window emerge-merge-buffer merge-window window-width 2 3 default-amount] 5 "\
  305. Scroll right all three merge buffers, if they are in windows.
  306. If an ARGUMENT is given, that is how many columns are scrolled, else nearly
  307. the width of the A and B windows.  `C-u -' alone as argument scrolls half the
  308. width of the A and B windows." "P"])
  309. (fset 'emerge-scroll-reset #[nil "└┴┬\"ç" [emerge-operate-on-windows #[(x) "└┴ ┬\"ç" [set-window-hscroll selected-window 0] 3] nil] 3 "\
  310. Reset horizontal scrolling of all three merge buffers to the left margin,
  311. if they are in windows." nil])
  312. (fset 'emerge-position-region #[(beg end pos) "└    !ê`\nX½ï └    T[!ê`X¼▒─┼ \n\"ê╞ !½ª╟ └!ê`V½çT¬o\nbê╔╩┼ !SZT╦Ñ!ê) bç" [move-to-window-line emerge-min-visible-lines beg end set-window-start selected-window pos-visible-in-window-p 0 lines recenter window-height 2 pos] 3])
  313. (fset 'emerge-next-difference #[nil "    W½íT ½ô\n    W½Ä \nH┼H╞>½à\nT¬j╟╔\n!*ç╩╦!ç" [emerge-current-difference emerge-number-of-differences n emerge-skip-prefers emerge-difference-list 6 (prefer-A prefer-B) nil buffer-read-only emerge-unselect-and-select-difference error "At end"] 2 "\
  314. Advance to the next difference." nil])
  315. (fset 'emerge-previous-difference #[nil "┴V½íS ½ô\n┴V½Ä \nH┼H╞>½à\nS¬j╟╔\n!*ç╩╦!ç" [emerge-current-difference -1 n emerge-skip-prefers emerge-difference-list 6 (prefer-A prefer-B) nil buffer-read-only emerge-unselect-and-select-difference error "At beginning"] 2 "\
  316. Go to the previous difference." nil])
  317. (fset 'emerge-jump-to-difference #[(difference-number) "└\nSë├Y½ï\n TW½à┼\n!¬â╞╟!)ç" [nil buffer-read-only difference-number -1 emerge-number-of-differences emerge-unselect-and-select-difference error "Bad difference number"] 3 "\
  318. Go to the N-th difference." "p"])
  319. (fset 'emerge-quit #[(arg) "└    ¼â┬¬ü├!─┼!ê¡â╞    !ç" [y-or-n-p arg "Do you really want to successfully finish this merge? " "Do you really want to abort this merge? " message "" emerge-really-quit] 3 "\
  320. Finish an Emerge session.  Prefix ARGUMENT means to abort rather than
  321. successfully finish.  The difference depends on how the merge was started,
  322. but usually means to not write over one of the original files, or to signal
  323. to some process which invoked Emerge a failure code.
  324.  
  325. Unselects the selected difference, if any, restores the read-only and modified
  326. flags of the merged file buffers, restores the local keymap of the merge
  327. buffer, and sets off various emerge flags.  Using Emerge commands in this
  328. buffer after this will cause serious problems." "P"])
  329. (fset 'emerge-really-quit #[(arg) "└┬├!ê─ ê┼╞\"ê└╚    !ê└\n└ └ └└╧╨!ê╙╘!)ç" [nil buffer-read-only emerge-unselect-and-select-difference -1 emerge-restore-buffer-characteristics mapcar #[(d) "┴H┬ëôê├H┬ëôê─H┬ëôê┼H┬ëôê╞H┬ëôê╟H┬ëôç" [d 0 nil 1 2 3 4 5] 3] emerge-difference-list use-local-map emerge-old-keymap emerge-mode emerge-fast-mode emerge-edit-mode emerge-auto-advance emerge-skip-prefers kill-local-variable mode-line-buffer-identification arg emerge-prefix-argument run-hooks emerge-quit-hooks] 3])
  330. (fset 'emerge-select-A #[(&optional force) "└┴─\n ë$*ç" [#[nil "└    \n $ê¡é╞ ç" [emerge-select-A-edit merge-begin merge-end A-begin A-end emerge-auto-advance emerge-next-difference] 5] #[nil "¡é┴ ç" [emerge-auto-advance emerge-next-difference] 1] operate-no-change operate emerge-select-version force] 5 "\
  331. Select the A variant of this difference.  Refuses to function if this
  332. difference has been edited, i.e., if it is neither the A nor the B variant.
  333. An ARGUMENT forces the variant to be selected even if the difference has
  334. been edited." "P"])
  335. (fset 'emerge-select-A-edit #[(merge-begin merge-end A-begin A-end) "p┴Ä\nqê |ê bê┼#ê bê    ╩╦Iê╠ *ç" [StartBuffer ((set-buffer StartBuffer)) emerge-merge-buffer merge-begin merge-end insert-buffer-substring emerge-A-buffer A-begin A-end diff-vector 6 A emerge-refresh-mode-line] 4])
  336. (fset 'emerge-select-B #[(&optional force) "└┴─ \n $*ç" [#[nil "└    \n $ê¡é╞ ç" [emerge-select-B-edit merge-begin merge-end B-begin B-end emerge-auto-advance emerge-next-difference] 5] #[nil "¡é┴ ç" [emerge-auto-advance emerge-next-difference] 1] operate-no-change operate emerge-select-version force] 5 "\
  337. Select the B variant of this difference.  Refuses to function if this
  338. difference has been edited, i.e., if it is neither the A nor the B variant.
  339. An ARGUMENT forces the variant to be selected even if the difference has
  340. been edited." "P"])
  341. (fset 'emerge-select-B-edit #[(merge-begin merge-end B-begin B-end) "p┴Ä\nqê |ê bê┼#ê bê    ╩╦Iê╠ *ç" [StartBuffer ((set-buffer StartBuffer)) emerge-merge-buffer merge-begin merge-end insert-buffer-substring emerge-B-buffer B-begin B-end diff-vector 6 B emerge-refresh-mode-line] 4])
  342. (fset 'emerge-default-A #[(force) "└\në├] W½╜ Hë╔H╩=¼î ½ÿ╔H╠=½É═ ╬\"ê╧ !ê╔╨Iê) Të╤Ñ╤_ U½D╥╙ \"ê¬=═!ê+╥╘!ç" [nil buffer-read-only emerge-current-difference 0 n selected-difference emerge-number-of-differences emerge-difference-list diff-vector 6 default-B force B emerge-unselect-and-select-difference t emerge-select-A default-A 10 message "Setting default to A...%d" "Default A set"] 4 "\
  343. Selects the A variant for all differences from here down in the buffer
  344. which are still defaulted, i.e., which the user has not selected and for
  345. which there is no preference.
  346. A prefix argument forces all differences from here down that have
  347. selected the B version to become default-A as well." "P"])
  348. (fset 'emerge-default-B #[(force) "└\në├] W½╜ Hë╔H╩=¼î ½ÿ╔H╠=½É═ ╬\"ê╧ !ê╔╨Iê) Të╤Ñ╤_ U½D╥╙ \"ê¬=═!ê+╥╘!ç" [nil buffer-read-only emerge-current-difference 0 n selected-difference emerge-number-of-differences emerge-difference-list diff-vector 6 default-A force A emerge-unselect-and-select-difference t emerge-select-B default-B 10 message "Setting default to B...%d" "Default B set"] 4 "\
  349. Selects the B variant for all differences from here down in the buffer
  350. which are still defaulted, i.e., which the user has not selected and for
  351. which there is no preference.
  352. A prefix argument forces all differences from here down that have
  353. selected the A version to become default-B as well." "P"])
  354. (fset 'emerge-fast-mode #[nil "└┬ !ê└└╞╚╔!ê╩╦ !ç" [t buffer-read-only use-local-map emerge-fast-keymap emerge-mode emerge-fast-mode nil emerge-edit-mode message "Fast mode set" set-buffer-modified-p buffer-modified-p] 2 "\
  355. Set fast mode, in which ordinary Emacs commands are disabled, and Emerge
  356. commands are need not be prefixed with \\<emerge-fast-keymap>\\[emerge-basic-keymap]." nil])
  357. (fset 'emerge-edit-mode #[nil "└┬ !ê─└─╚╔!ê╩╦ !ç" [nil buffer-read-only use-local-map emerge-edit-keymap t emerge-mode emerge-fast-mode emerge-edit-mode message "Edit mode set" set-buffer-modified-p buffer-modified-p] 2 "\
  358. Set edit mode, in which ordinary Emacs commands are available, and Emerge
  359. commands must be prefixed with \\<emerge-fast-keymap>\\[emerge-basic-keymap]." nil])
  360. (fset 'emerge-auto-advance #[(arg) "¼ä    ?¬à┬!├V─½â╞¬ü╟!ê╚╔ !ç" [arg emerge-auto-advance prefix-numeric-value 0 message emerge-skip-prefers "Auto-advance set" "Auto-advance cleared" set-buffer-modified-p buffer-modified-p] 2 "\
  361. Toggle auto-advance mode, which causes  emerge-select-A  and
  362.  emerge-select-B  to automatically advance to the next difference.  (See
  363. emerge-auto-advance.)  
  364. If a positive ARGUMENT is given, it turns on auto-advance mode.
  365. If a negative ARGUMENT is given, it turns off auto-advance mode." "P"])
  366. (fset 'emerge-skip-prefers #[(arg) "¼ä    ?¬à┬!├V─    ½â┼¬ü╞!ê╟╚ !ç" [arg emerge-skip-prefers prefix-numeric-value 0 message "Skip-prefers set" "Skip-prefers cleared" set-buffer-modified-p buffer-modified-p] 2 "\
  367. Toggle skip-prefers mode, which causes  emerge-next-difference  and
  368.  emerge-previous-difference  to automatically skip over differences for which
  369. there is a preference.  (See emerge-skip-prefers.)  
  370. If a positive ARGUMENT is given, it turns on skip-prefers mode.
  371. If a negative ARGUMENT is given, it turns off skip-prefers mode." "P"])
  372. (fset 'emerge-copy-as-kill-A #[nil "└ ê    \nHë─HT ╞HS╚    è\nqê╦\"-ç" [emerge-validate-difference emerge-difference-list emerge-current-difference diff-vector 0 A-begin 1 A-end nil this-command emerge-A-buffer copy-region-as-kill] 4 "\
  373. Put the A variant of this difference in the kill ring." nil])
  374. (fset 'emerge-copy-as-kill-B #[nil "└ ê    \nHë─HT ╞HS╚    è\nqê╦\"-ç" [emerge-validate-difference emerge-difference-list emerge-current-difference diff-vector 2 B-begin 3 B-end nil this-command emerge-B-buffer copy-region-as-kill] 4 "\
  375. Put the B variant of this difference in the kill ring." nil])
  376. (fset 'emerge-insert-A #[(arg) "└ ê    \nHë─HT ╞HS`╔\n╦ #ê¼å╬!¬ç╬`!êb-ç" [emerge-validate-difference emerge-difference-list emerge-current-difference diff-vector 0 A-begin 1 A-end opoint nil buffer-read-only insert-buffer-substring emerge-A-buffer arg set-mark] 5 "\
  377. Insert the A variant of this difference at the point.
  378. Leaves point after text, mark before.
  379. With prefix argument, puts point before, mark after." "P"])
  380. (fset 'emerge-insert-B #[(arg) "└ ê    \nHë─HT ╞HS`╔\n╦ #ê¼å╬!¬ç╬`!êb-ç" [emerge-validate-difference emerge-difference-list emerge-current-difference diff-vector 2 B-begin 3 B-end opoint nil buffer-read-only insert-buffer-substring emerge-B-buffer arg set-mark] 5 "\
  381. Insert the B variant of this difference at the point.
  382. Leaves point after text, mark before.
  383. With prefix argument, puts point before, mark after." "P"])
  384. (fset 'emerge-mark-difference #[(arg) "└ ê    \nHë─HT ╞HS¼ëbê╔!¬çbê╔!+ç" [emerge-validate-difference emerge-difference-list emerge-current-difference diff-vector 4 merge-begin 5 merge-end arg set-mark] 3 "\
  385. Leaves the point before this difference and the mark after it.
  386. With prefix argument, puts mark before, point after." "P"])
  387. (fset 'emerge-file-names #[nil "└ ê┴┴─Ép╞Äqê½ï╔╩!ê╔!ê¬ë╔╦!ê╔╠ !ê╔═!ê*p╬Äqê½ï╔╨!ê╔!ê¬ë╔╤!ê╔╠ !ê╔═!ê*½Ñp╙Äqê½ï╔╘!ê╔!ê¬ë╔╒!ê╔╠ !ê╔═!ê*╔!æ*ç" [delete-other-windows #[(buf) "└ ê┴\n!ê├─!ç" [split-window-vertically switch-to-buffer buf other-window 1] 2] temp-buffer-show-hook temp-buffer-show-function "*Help*" StartBuffer ((set-buffer StartBuffer)) emerge-A-buffer buffer-file-name princ "File A is: " "Buffer A is: " buffer-name "\n" ((set-buffer StartBuffer)) emerge-B-buffer "File B is: " "Buffer B is: " emerge-ancestor-buffer ((set-buffer StartBuffer)) "Ancestor file is: " "Ancestor buffer is: " emerge-output-description] 3 "\
  388. Show the names of the buffers or files being operated on by Emerge.
  389. Use ^U L to reset the windows afterward." nil])
  390. (fset 'emerge-join-differences #[(arg) "\n½â    S    ├W¼å     SY½ä┼╞!ê╟!ê S├╚ ╔\"\në Wâ┤\n ë    W½ç  H¬∞     V½ê  TH¬▐  H  TH╧├H╨H╤H╥H╙H╘H╒H╒Hë=½ä¬£╪=¼å┘=½Å╪=¼å┘=½â╪¬ü┌*&*Iê Të é(\n *    █ ê▄!ê▌ )ç" [emerge-current-difference n arg 0 emerge-number-of-differences error "Incorrect differences to join" emerge-unselect-difference make-vector nil new-differences i emerge-difference-list next prev vector 1 2 3 4 5 6 ns ps B prefer-B A emerge-refresh-mode-line emerge-select-difference emerge-recenter] 13 "\
  391. Join the selected difference with the following one.  With a prefix
  392. argument, join with the preceeding one." "P"])
  393. (fset 'emerge-split-difference #[nil "┬ êp─Äqê╞ *p╟Äqê╞ *╞         H\n  ë\n╬HW¼ë\n╧HV½ä╨╤!ê \n╥HW¼ë \n╙HV½ä╨╘!ê \n╒HW¼ë \n╓HV½ä╨╫!ê╪!êT╬┌█\"ëW½Θë    W½ç    H¬╧    TV½ê    SH¬└    U½¢▐\n╬H\n╥H \n╒H \n▀H&¬ƒ▐α!\n╧Hα !\n╙Hα !\n╓H\n▀H&IêT묠   *    ß êΓ!êπ -ç" [emerge-current-difference n emerge-validate-difference StartBuffer ((set-buffer StartBuffer)) emerge-A-buffer point-marker ((set-buffer StartBuffer)) emerge-B-buffer emerge-difference-list old-diff merge-point B-point A-point 0 1 error "Point outside of difference in A buffer" 2 3 "Point outside of difference in B buffer" 4 5 "Point outside of difference in merge buffer" emerge-unselect-difference emerge-number-of-differences make-vector nil new-differences i vector 6 copy-marker emerge-refresh-mode-line emerge-select-difference emerge-recenter] 12 "\
  394. Split the current difference where the points are in the three windows." nil])
  395. (fset 'emerge-trim-difference #[nil "└ ê┴\n!ê \nH┼ ╞H!┼ ╚H!    ┼ ╩H! ┼ ╠H!┼ ╬H!┼ ╨H!╥╥╥╥╥╪╪╞Vâ╘┘½÷    Z ZZ^^^p█Äqê\\{*p▌Äqê  \\{*\\{╞V¡îÜ¡àÜë½\\ \\ \\¬╩ÑëéH╪╪╞Vâd┘½÷    Z ZZ^^^p▀Äqê    Z    {*pαÄqêZ{*Z{╞V¡îÜ¡àÜë½    Z    ZZ¬╩Ñëé╪pßÄqêbê╞yê ╞Γ Iê    bê╚yê ╚Γ Iê*pπÄqê bê╞yê ╩Γ Iêbê╚yê ╠Γ Iê*bê╞yê ╬Γ Iêbê╚yê ╨Γ IêΣ\n!êσ . ç" [emerge-validate-difference emerge-unselect-difference emerge-current-difference emerge-difference-list diff marker-position 0 top-a 1 bottom-a 2 top-b 3 bottom-b 4 top-m 5 bottom-m nil size success sa sb sm 1000 t StartBuffer ((set-buffer StartBuffer)) emerge-A-buffer ((set-buffer StartBuffer)) emerge-B-buffer ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) point-marker ((set-buffer StartBuffer)) emerge-select-difference emerge-recenter] 6 "\
  396. Trim lines off the top and bottom of a difference that are the same in
  397. both the A and B versions.  (This can happen when the A and B versions
  398. have common lines that the ancestor version does not share.)" nil])
  399. (fset 'emerge-find-difference #[(arg) "└    `┬├$ç" [emerge-find-difference1 arg 4 5] 5 "\
  400. Find the difference containing the current position of the point.
  401. If there is no containing difference and the prefix argument is positive,
  402. it finds the nearest following difference.  A negative prefix argument finds
  403. the nearest previous difference." "P"])
  404. (fset 'emerge-find-difference-A #[(arg) "└    p├Ä qê`*┼╞$ç" [emerge-find-difference1 arg StartBuffer ((set-buffer StartBuffer)) emerge-A-buffer 0 1] 5 "\
  405. Find the difference containing the current position of the point in the
  406. A buffer.  (Nonetheless, this command must be executed in the merge buffer.)
  407. If there is no containing difference and the prefix argument is positive,
  408. it finds the nearest following difference.  A negative prefix argument finds
  409. the nearest previous difference." "P"])
  410. (fset 'emerge-find-difference-B #[(arg) "└    p├Ä qê`*┼╞$ç" [emerge-find-difference1 arg StartBuffer ((set-buffer StartBuffer)) emerge-B-buffer 2 3] 5 "\
  411. Find the difference containing the current position of the point in the
  412. B buffer.  (Nonetheless, this command must be executed in the merge buffer.)
  413. If there is no containing difference and the prefix argument is positive,
  414. it finds the nearest following difference.  A negative prefix argument finds
  415. the nearest previous difference." "P"])
  416. (fset 'emerge-find-difference1 #[(arg location begin end) "└┴ìë W¡ï─\nHH!X╔\n! ╠½â\n¬¿\n¼à═╬!¬ƒ ╧V½ì\n W½â\n¬æ═╨!¬î\n╧V½ä\nS¬â═╤!!+ç" [search (byte-code "└└\nW½Ü     H╞ H!X½à╚╔    \"ê)    Të¬b)\nç" [0 n emerge-number-of-differences emerge-difference-list diff-vector location marker-position end throw search] 5) index emerge-number-of-differences marker-position emerge-difference-list begin location contains prefix-numeric-value arg arg-value emerge-unselect-and-select-difference error "No difference contains point" 0 "No difference contains or follows point" "No difference contains or preceeds point"] 4])
  417. (fset 'emerge-line-numbers #[nil "┴Y¡â\nWë¡â H╞╟╚\"    p\n╦Ä qê╞┴═\"*p\n╧Äqê╞╤╥\"*╘╒    $-ç" [emerge-current-difference 0 emerge-number-of-differences valid-diff emerge-difference-list diff emerge-line-number-in-buf 4 5 merge-line StartBuffer ((set-buffer StartBuffer)) emerge-A-buffer 1 A-line ((set-buffer StartBuffer)) emerge-B-buffer 2 3 B-line message "At lines: merge = %d, A = %d, B = %d"] 6 "\
  418. Display the current line numbers of the points in the A, B, and
  419. merge buffers." nil])
  420. (fset 'emerge-line-number-in-buf #[(begin-marker end-marker) "└è┬yê├─`\"T)½£`HV½à    Z`    HV½à    \nZ    )ç" [nil temp 0 count-lines 1 valid-diff diff begin-marker emerge-before-flag-lines end-marker emerge-after-flag-lines] 3])
  421. (fset 'emerge-set-combine-versions-template #[(start end &optional localize) "½ä┴┬!ê {┼┬╞ ₧½â╟¬ü╚!ç" [localize make-local-variable emerge-combine-versions-template start end message buffer-local-variables "emerge-set-combine-versions-template set locally." "emerge-set-combine-versions-template set."] 3 "\
  422. Copy region into  emerge-combine-versions-template  which controls how
  423. emerge-combine-versions  will combine the two versions.
  424. With prefix argument,  emerge-combine-versions  is made local to this
  425. merge buffer.  Localization is permanent for any particular merge buffer." "r\nP"])
  426. (fset 'emerge-combine-versions #[(&optional force) "└    \n\"ç" [emerge-combine-versions-internal emerge-combine-versions-template force] 3 "\
  427. Combine the two versions using the template in
  428. emerge-combine-versions-template.
  429. Refuses to function if this difference has been edited, i.e., if it is
  430. neither the A nor the B variant.
  431. An ARGUMENT forces the variant to be selected even if the difference has
  432. been edited." "P"])
  433. (fset 'emerge-combine-versions-register #[(char &optional force) "└    !ë;¼ä├─!ê┼\n\")ç" [get-register char template error "Register does not contain text" emerge-combine-versions-internal force] 4 "\
  434. Combine the two versions using the template in register REG.
  435. See documentation of the variable  emerge-combine-versions-template
  436. for how the template is interpreted.
  437. Refuses to function if this difference has been edited, i.e., if it is
  438. neither the A nor the B variant.
  439. An ARGUMENT forces the variant to be selected even if the difference has
  440. been edited." "cRegister containing template: \nP"])
  441. (byte-code "└┴Mê┬├Mç" [emerge-combine-versions-internal #[(template force) "└┬     ëë$)ç" [#[nil "└    \n &ê¡é╔ ç" [emerge-combine-versions-edit merge-begin merge-end A-begin A-end B-begin B-end template emerge-auto-advance emerge-next-difference] 8] operate emerge-select-version force] 5] emerge-combine-versions-edit #[(merge-begin merge-end A-begin A-end B-begin B-end template) "p┴Ä\nqê |ê bê┼┼GW½╓Hë╔U½╜T╩╦╠Åë═U½ï╬#ꬪ╥U½ï╬#ê¬ò╔U½à╔cê¬ècê¬äcê)Të¬$) bê╫╪Iê┘ *ç" [StartBuffer ((set-buffer StartBuffer)) emerge-merge-buffer merge-begin merge-end 0 i template c 37 nil (aref template i) ((error 37)) 97 insert-buffer-substring emerge-A-buffer A-begin A-end 98 emerge-B-buffer B-begin B-end diff-vector 6 combined emerge-refresh-mode-line] 5]] 2)
  442. (fset 'emerge-set-merge-mode #[(mode) "└┴!¼ç\n¼ä├─!ê ê╞ ê½â╟ ç╚ ç" [featurep kill-fix emerge-lucid-p error "You must have kill-fix.el loaded to use emerge-set-merge-mode!" mode emerge-refresh-mode-line emerge-fast-mode emerge-edit-mode] 2 "\
  443. Set the major mode in a merge buffer.  Overrides any change that the mode
  444. might make to the mode line or local keymap.  Leaves merge in fast mode.
  445. Requires kill-fix.el or Lucid Emacs to work." (byte-code "└┴┬ ─┼╞%!Cç" [intern completing-read "New major mode for merge buffer (function name): " obarray commandp t nil] 7)])
  446. (byte-code "└┴Mê┬├Mê─┼Mê╞╟Mê╚╔Mê╩╦Mê╠═Mê╬╧Mê╨╤Mê╥╙Mê╘╒Mê╓╫Mê╪┘Mê┌█Mê▄▌Mê▐▀MêαßMêΓπMç" [emerge-one-line-window #[nil "└┬├ ─Z!)ç" [1 window-min-height shrink-window window-height 2] 3 nil nil] emerge-select-difference #[(n) "    ─╟╚$ê─    ╩╦$ê─╠═╬$ê*╧╨!ç" [emerge-difference-list emerge-number-of-differences emerge-globalized-number-of-differences emerge-globalized-difference-list emerge-place-flags-in-buffer emerge-A-buffer n 0 1 emerge-B-buffer 2 3 nil 4 5 run-hooks emerge-select-hooks] 5] emerge-place-flags-in-buffer #[(buffer difference before-index after-index) "½Åp┬Äqê├ #*ç├ #ç" [buffer StartBuffer ((set-buffer StartBuffer)) emerge-place-flags-in-buffer1 difference before-index after-index] 4] emerge-place-flags-in-buffer1 #[(difference before-index after-index) "½å┴\n #ç┼\nH H┼ë    bê╩ !ê`    ëS┼ôê\nS┼ëë ë╨Y½▓Hë HëU½áëS┼ôê HëU½àSSë¬J.\nH H╥!ëbêcêëT┼ôê\nT┼ëë ëW¡▓Hë HëU¡áëT┼ôê HëU½àTTë¬I.ç" [emerge-lucid-p emerge-place-flags-in-buffer1-lucid difference before-index after-index nil buffer-read-only emerge-globalized-difference-list here before insert-before-markers emerge-before-flag diff-list before-marker after-marker n 0 after marker-position emerge-after-flag emerge-globalized-number-of-differences] 5] emerge-place-flags-in-buffer1-lucid #[(difference before-index after-index) "    H\nH    H H╞╟ !╟!p#╔╩\"ê╦╠!½å╠═\"ê╬╧\"+ç" [emerge-globalized-difference-list difference before-index before after-index after make-extent marker-position extent set-extent-face emerge-highlight-face fboundp set-extent-priority 1 set-extent-data emerge] 4] emerge-unselect-difference #[(n) "    H├ \n┼H\n╞H#ê├\n╚H\n╔H#ê├\n\n╦H\n╠H#ê)═╬!ç" [emerge-difference-list n diff-vector emerge-remove-flags-in-buffer emerge-A-buffer 0 1 emerge-B-buffer 2 3 emerge-merge-buffer 4 5 run-hooks emerge-unselect-hooks] 5] emerge-remove-flags-in-buffer #[(buffer before after) "½å┴\n #çp╞Ä\nqê╟     SZbê╩ !½ç╠    !ê¬ç═ ê╬╧!ê Sbê╩!½å╠!¬å═ ê╬╧!+ç" [emerge-lucid-p emerge-remove-flags-in-buffer-lucid buffer before after StartBuffer ((set-buffer StartBuffer)) nil buffer-read-only emerge-before-flag-length looking-at emerge-before-flag-match delete-char ding message "Trouble removing flag" emerge-after-flag-match emerge-after-flag-length] 4] emerge-remove-flags-in-buffer-lucid #[(buffer before after) "└┴\n├ !├!╞%ç" [map-extents #[(x y) "└    !┬=¡â├    !ç" [extent-data x emerge delete-extent] 2] buffer marker-position before after nil] 6] emerge-unselect-and-select-difference #[(n &optional suppress-display) "┴Y½ë\nW½ä├!ê ┴Y½« \nW½⌐┼ !ê Hë╚Hë    ╩=½ê╚╦Iê¬î    ╠=½å╚═Iê* ?¡à╧ ê╨ ç" [emerge-current-difference 0 emerge-number-of-differences emerge-unselect-difference n emerge-select-difference emerge-difference-list diff-vector 6 selection-type default-A A default-B B suppress-display emerge-recenter emerge-refresh-mode-line] 4] emerge-select-version #[(force a-version b-version neither-version) "└ ê┴ Hë╞HT╚HS    ╩HT ╠HS╬HT╨HS╥    &½à ¬⌐╥ &½à ¬ô¼çU½à ¬â┌█!.ç" [emerge-validate-difference nil buffer-read-only emerge-difference-list emerge-current-difference diff-vector 0 A-begin 1 A-end 2 B-begin 3 B-end 4 merge-begin 5 merge-end emerge-compare-buffers emerge-A-buffer emerge-merge-buffer a-version emerge-B-buffer b-version force neither-version error "This difference region has been edited"] 8] emerge-read-file-name #[(prompt alternative-default-dir default-file A-file mustmatch) "½á    ½¥\n½Ü\n├    !ÿ¼ô─┼╞╚    !#\në╚    !P    $ç\n½Æ─┼╞\n#¡ü\n\n    $ç─╦P¡ü\n╠    $ç" [emerge-default-last-directories A-file alternative-default-dir file-name-directory read-file-name format "%s (default %s): " prompt file-name-nondirectory mustmatch default-file ": " nil] 6] emerge-refresh-mode-line #[nil "└┴\nT \n─Y½Å\n W½è\nH╞H╟₧A¬ü╚$C    ╩╦ !ç" [format "Emerge: %%b   diff %d of %d%s" emerge-current-difference emerge-number-of-differences 0 emerge-difference-list 6 ((A . " - A") (B . " - B") (prefer-A . " - A*") (prefer-B . " - B*") (combined . " - comb")) "" mode-line-buffer-identification set-buffer-modified-p buffer-modified-p] 6] emerge-compare-buffers #[(buffer-x x-begin x-end buffer-y y-begin y-end) "    Z\n ZU??¡â─┼ìç" [x-end x-begin y-end y-begin exit (byte-code "    W½┬    Z┬^p┼Äqêë \\{*p╚Ä    qê\në \\{*  ÿ¼ç╠═╬\"ê¬è \\\n \\\n+¬9╧ç" [x-begin x-end 1000 compare-length StartBuffer ((set-buffer StartBuffer)) buffer-x x-string ((set-buffer StartBuffer)) buffer-y y-begin y-string throw exit nil t] 3)] 3] emerge-unique-buffer-name #[(prefix suffix) "└    \nP!¼ä    \nPç├└┼╞     \n$!½à T¬q┼╞     \n$)ç" [get-buffer prefix suffix 2 n format "%s<%d>%s"] 6] emerge-validate-difference #[nil "┴Y¡â\nW?¡â├─!ç" [emerge-current-difference 0 emerge-number-of-differences error "No difference selected"] 2] emerge-save-variables #[(vars) "└┴\n\"ç" [mapcar #[(v) "9½âJç@ ç" [v] 1] vars] 3] emerge-restore-variables #[(vars values) "¡ƒ@    @ë½å \nLê¬å A@\n!ê*A    A¬^ç" [vars values value var] 3] emerge-make-temp-file #[(prefix) "└    \nP!─ee ┼╞%ê╟ \"ê )ç" [make-temp-name emerge-temp-file-prefix prefix f write-region nil no-message set-file-modes emerge-temp-file-mode] 6]] 2)
  447. (fset 'emerge-query-write-file #[nil "└┴!ç" [emerge-query-and-call write-file] 2 "\
  448. Query the user if he really wants to write out the incomplete merge.
  449. If he says yes, call  write-file  to do so.  See  emerge-query-and-call
  450. for details of the querying process." nil])
  451. (fset 'emerge-query-save-buffer #[nil "└┴!ç" [emerge-query-and-call save-buffer] 2 "\
  452. Query the user if he really wants to write out the incomplete merge.
  453. If he says yes, call  save-buffer  to do so.  See  emerge-query-and-call
  454. for details of the querying process." nil])
  455. (fset 'emerge-query-and-call #[(command) "└┴!½ñ\n├Y½ë\n W½ä┼\n!ê╞!ê\n├Y¡ï\n W¡è╚\n!ê╔ ç╩╦!ç" [yes-or-no-p "Do you really write to write out this unfinished merge? " emerge-current-difference 0 emerge-number-of-differences emerge-unselect-difference call-interactively command emerge-select-difference emerge-recenter message "Not written"] 2 "\
  456. Query the user if he really wants to write out the incomplete merge.
  457. If he says yes, call COMMAND interactively.  During the call, the flags
  458. around the current difference are removed."])
  459. (byte-code "└┴Mê┬├Mê─┼Mç" [emerge-verify-file-buffer #[nil "└p!½ö┴ ¡¬┬├─\"!½â╞ ç╟╚\"ç┴ ½à╟╚\"ç┬├╔\"!½à╩╦ë\"ç╟╚\"ç" [verify-visited-file-modtime buffer-modified-p yes-or-no-p format "Save file %s? " buffer-file-name save-buffer error "Buffer out of sync for file %s" "Revert file %s? " revert-buffer t] 4] emerge-remote-file-p #[nil "└┴!¡ê    ¡à┬    @ \"ç" [boundp ange-ftp-path-format string-match buffer-file-name] 3] emerge-copy-modes #[(buffer) "p┴Ä\nqê * ç" [StartBuffer ((set-buffer StartBuffer)) buffer major-mode] 1]] 2)
  460. (fset 'emerge-force-define-key #[(keymap key definition) "└    \n\"뿽ë─    \n┼ O╞#ê)─    \n#ç" [lookup-key keymap key v define-key 0 nil definition] 6 "\
  461. Like define-key, but is not stopped if a prefix of KEY is a defined 
  462. command."])
  463. (fset 'describe-mode #[(&optional minor) "└É┴\n!ê┴├!ê┴─!!ê╟ ë    ½╝    @@\n    @A@ \n₧ë ½£ A½ù═\n!½æ┴╬╧\n #!ê┴─\n!!ê+    Aë    ¼D*╨ æç" ["*Help*" princ mode-name " Mode:\n" documentation major-mode minor-mode-alist buffer-local-variables locals minor-modes minor-mode indicator local-binding fboundp format "\n\n\n%s minor mode (indicator%s):\n" print-help-return-message] 7 "\
  464. Display documentation of current major mode.
  465. If optional MINOR is non-nil (or prefix argument is given if interactive),
  466. display documentation of acive minor modes as well.
  467. For this to work correctly for a minor mode, the mode's indicator variable
  468. (listed in minor-mode-alist) must also be a function whose documentation
  469. describes the minor mode." nil])
  470. (byte-code "└┴KMç" [defining-kbd-macro start-kbd-macro] 2)
  471. (fset 'emerge-shadow-key-definition #[(olddef newdef keymap shadowmap) "└    !ë¡÷\n@@\n@A┼ !½┤ G╞W½ú H    =½Æ ╩!P ╠ #ê)Të¬X*¬¡ :½ñ ½ª óú    =½ô ╩ @@!P ╠ #ê) Aë¬]╧╨ \"ê*\nAë¼ ╤)ç" [accessible-keymaps keymap maps map prefix arrayp 0 i len olddef char-to-string key emerge-define-key-if-possible shadowmap newdef map-keymap #[(okey val) "    =¡Ä┬ C\"╞#)ç" [val olddef vconcat prefix okey key emerge-define-key-if-possible shadowmap newdef] 4] nil] 5 "\
  472. Shadow OLDDEF with NEWDEF for any keys in KEYMAP with entries in SHADOWMAP.
  473. In other words, insert into SHADOWMAP a binding to NEWDEF wherever a
  474. binding of OLDDEF appears in KEYMAP.  Thus, if KEYMAP is the global map and
  475. SHADOWMAP is the local map, OLDDEF will be shadowed everywhere by NEWDEF.
  476. Does not affect keys that are already bound in SHADOWMAP, including
  477. those whose definition is OLDDEF."])
  478. (fset 'emerge-define-key-if-possible #[(keymap key definition) "└    \n\"ë½ä ¿¡ä─┼╞Å)ç" [lookup-key keymap key present nil (define-key keymap key definition) ((error))] 4])
  479. (fset 'emerge-recursively-substitute-key-definition #[(olddef newdef keymap) "└    !ë¡Å├ \n@A#ê\nAë¼r╞)ç" [accessible-keymaps keymap maps substitute-key-definition olddef newdef nil] 5 "\
  480. Like substitute-key-definition, but examines and substitutes in all
  481. keymaps accessible from KEYMAP.  Make sure that subordinate keymaps aren't
  482. shared with other keymaps!  (copy-keymap will suffice.)"])
  483. (fset 'emerge-show-file-name #[nil "└ ë¼é┬├ï)ç" [buffer-file-name name "Buffer has no file name." ((byte-code "└┴ !ê┬ ê cê─ ?¡┴┼─ ¼Ä╟ S╚ V½å╔╩!ê¬n ½ù╠═ !╧!╨=?¡àë)¬É╥ ë╨U?¡àë))ç" [select-window minibuffer-window erase-buffer name pos-visible-in-window-p 0 echo-keystrokes screen-height window-height enlarge-window 1 emerge-lucid-p next-command-event allocate-event e event-to-character 32 unread-command-event read-char c unread-command-char] 3))] 2 "\
  484. Displays the name of the file loaded into the current buffer.
  485. If the name won't fit on one line, the minibuffer is expanded to hold it,
  486. and the command waits for a keystroke from the user.  If the keystroke is
  487. SPC, it is ignored; if it is anything else, it is processed as a command." nil])
  488. (fset 'emerge-make-auto-save-file-name #[nil "½ñ┴!┬├!┬R┼ !½â ¬É╞╟!╚├!╔╩┴!!┬░)ç╦╞╟!╠═╬ !╧╨╤!┬░!ç" [buffer-file-name file-name-directory "#" file-name-nondirectory f file-writable-p getenv "HOME" "/#&" "&" hash-string-into-string expand-file-name "/#%" unslashify-name buffer-name "%" make-temp-name ""] 7 "\
  489. Return file name to use for auto-saves of current buffer.
  490. Does not consider auto-save-visited-file-name; that is checked
  491. before calling this function.
  492. You can redefine this for customization.
  493. See also auto-save-file-name-p."])
  494. (byte-code "└┴Mê┬├Mç" [hash-string-into-string #[(s) "└┴ëëëë%┴\n GW½Ö \n┼ª \n┼ªH╞_ \nH\\╟ªIê\nTë¬b╚╔ ╩#*ç" [vector 0 i bins s 5 35 65536 mapconcat #[(b) "┴ª┬\\ë├Y½âT─!ç" [b 93 33 47 char-to-string] 3] ""] 7] unslashify-name #[(s) "└┬├     #½á └ëöO └ö└òO┼ÿ½â╞¬ü╟ └ò╚OQ└òT¬Y) ç" [0 limit string-match "[/\\]" s "/" "\\!" "\\\\" nil] 5]] 2)
  495. (defvar emerge-metachars "[     \n!\"#$&'()*;<=>?[\\^`{|~]" "\
  496. Characters that must be quoted with \\ when used in a shell command
  497. line, specified as a [...] regexp.")
  498. (fset 'emerge-protect-metachars #[(s) "└┬     #½ô └ëöO┼ └ö╞OQ└òT¬f) ç" [0 limit string-match emerge-metachars s "\\" nil] 5])
  499.